import java.util.ArrayList;

/*
        <R> Stream<R> map (Function mapper) : 返回由给定函数应用于此流的元素的结果组成的流
            Function接口中的方法  R apply (T t)
        IntStream mapToInt (ToIntFunction mapper ) : 返回一个IntStream,其中·包含将给定函数应用于此流的元素的结果
            IntStream : 表示原始 int 流
            ToIntFunction接口中的方法 int applyAsInt ( T value)
 */
public class StreamDemo4 {
    public static void main(String[] args) {
        ArrayList<String> alt = new ArrayList<>();
        alt.add("10");
        alt.add("20");
        alt.add("30");
        alt.add("40");
        alt.add("50");

        //1. 将集合中的字符串数据转换为整数之后在控制台输出
        alt.stream().map(Integer::parseInt).forEach(s->System.out.print(s + " "));
        System.out.println();
        //2. 将集合中的字符串数据转换为整数之后，将元素总和在控制台输出
        System.out.println(alt.stream().mapToInt(Integer::parseInt).sum());  //.sum()方法是IntStream特有的方法

    }
}
